package br.ufpe.cin.rgms.linhapesquisa.persistencia;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import br.ufpe.cin.rgms.base.Dao;
import br.ufpe.cin.rgms.base.Persistence;
import br.ufpe.cin.rgms.linhapesquisa.modelo.LinhaPesquisa;

public class DaoLinhaPesquisa extends Dao<LinhaPesquisa>{

	public DaoLinhaPesquisa() {
		super(LinhaPesquisa.class);
	}

	@Override
	protected String getFirstAtributoDeOrdenacao() {
		return "titulo";
	}
	

	public LinhaPesquisa getLinhaPesquisa(String titulo) {
		LinhaPesquisa retorno = null;
		
		Criteria criteria = Persistence.getInstance().getSession().createCriteria(LinhaPesquisa.class);
		
		criteria.add(Restrictions.eq("titulo", titulo ));
		
		List<LinhaPesquisa > lista = criteria.list();
		
		if(lista.size() > 0){
			retorno = lista.get(0);
		}
		
		return retorno;
	}
	
	public LinhaPesquisa getLinhaPesquisa(int idLinhaPesquisa ) {
		LinhaPesquisa retorno = null;
		
		Criteria criteria = Persistence.getInstance().getSession().createCriteria(LinhaPesquisa.class);
		
		criteria.add(Restrictions.eq("id", idLinhaPesquisa ));
		
		List<LinhaPesquisa > lista = criteria.list();
		
		if(lista.size() > 0){
			retorno = lista.get(0);
		}
		
		return retorno;
	}
	
	@Override
	protected String getSecondAtributoDeOrdenacao() {
		// TODO Auto-generated method stub
		return "descricaoBasica";
	}

}
